// app.js
App({
    onLaunch: function () {
      // 初始化云开发环境
      if (!wx.cloud) {
        console.error('请使用 2.2.3 或以上的基础库以使用云能力')
      } else {
        wx.cloud.init({
          env:'',// 云开发环境ID，根据你的实际环境填写
          traceUser: true, // 开启用户跟踪，用于调试
        })
      }
  
      // 获取用户openid并缓存
      this.getOpenid();
  
      // 展示本地存储能力
      var logs = wx.getStorageSync('logs') || []
      logs.unshift(Date.now())
      wx.setStorageSync('logs', logs)
  
      // 登录
      wx.login({
        success: res => {
          // 发送 res.code 到后台换取 openId, sessionKey, unionId
        }
      })
  
      // 获取用户信息
      wx.getSetting({
        success: res => {
          if (res.authSetting['scope.userInfo']) {
            // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
            wx.getUserInfo({
              success: res => {
                // 可以将 res 发送给后台解码出 unionId
                this.globalData.userInfo = res.userInfo
                // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
                // 所以此处加入 callback 以防止这种情况
                if (this.userInfoReadyCallback) {
                  this.userInfoReadyCallback(res)
                }
              }
            })
          }
        }
      })
  
      // 验证wx对象是否存在
      console.log("wx对象是否存在：", typeof wx !== "undefined");
      // 验证chooseDate是否存在
      console.log("wx.chooseDate是否存在：", typeof wx.chooseDate === "function");
    },
  
    // 获取用户openid的方法
    getOpenid: function() {
      return new Promise((resolve, reject) => {
        // 已经获取过openid，直接返回
        if (this.globalData.openid) {
          resolve(this.globalData.openid);
          return;
        }
  
        // 调用云函数获取openid
        wx.cloud.callFunction({
          name: 'getOpenid',
          data: {},
          success: res => {
            this.globalData.openid = res.result.openid;
            resolve(res.result.openid);
          },
          fail: err => {
            console.error('获取openid失败', err);
            reject(err);
          }
        })
      })
    },
  
    globalData: {
      userInfo: null,
      openid: null, // 存储用户openid
      cloudEnv: '100043397604' // 你的云环境ID，根据实际情况填写
    }
  })
      
